define("core", ["common", "jQuery", "r_css", "jQuery.notify", "appConfig"], function(jSouper, $, cssAPI) {


    require(["coAjax", "Cookies", "href", "queryString", "browser", "jSouper_page", "title", "page_onload", "mobile_jump"], function(coAjax, Cookies, href, QueryString, browser, jSouper_page, title, page_onload, mobile_jump) {
        // //加载页面CSS
        // require([browser.isMobile() ? "r_css!./css/m.default.css" : "r_css!./css/default-beta.css"])
        //自动跳转功能
        page_onload.register("*", function() {
            mobile_jump();
        });
        /*
         * 记录推荐者信息
         */
        var queryString = new QueryString();
        var recommender_id = queryString.get("rcid");
        if (recommender_id) {
            Cookies.set("rcid", recommender_id);
        }
        /*
         * 记录访客
         */
        coAjax.post(appConfig.recordVisitorInfo, {
            bus_id: appConfig.bus_id
        }, function(result) {
            console.log("访客信息已经记录：", result.result);
        });
        (function() {
            /*
             * 管理员相关的页面无需登录
             */
            var no_user_login_pages = {
                "/admin-beta.html": 1,
                "/admin-login.html": 1
            }
            if (no_user_login_pages[location.pathname]) {
                return;
            }
            console.log("获取登陆者信息……", location.pathname);
            /*
             * 获取登录者信息
             */
            coAjax.get(appConfig.user.loginer, function(data) {
                console.log("登录者信息：", data.result);
                userInfo = data.result;
                jSouper.ready(function() {
                    App.set("loginer", userInfo);
                });
            }, function(errorCode) {
                var muse_login_pages = {
                        "/personal-beta.html": 1,
                        "/cart-beta.html": 1
                    }
                    //未登录，不可进入个人页，强制跳转到登录页
                if (muse_login_pages[location.pathname]) {
                    href.toLogin();
                }
            });
        }());
        /*
         * 初始化窗口信息
         */
        title();
        /*
         * 整理配置信息
         */
        App.set("bus_info", appConfig.site_info);
        App.set("config", appConfig);
        /*
         * 开启分页功能
         */
        jSouper_page();
    });
    // /*
    //  * 使用History API实现无刷新跳转
    //  */
    // if (window.history && history.pushState) {
    // 	var _ajax_get_page;
    // 	var _current_page_info;
    // 	var _map_cache = {};
    // 	require(["jQuery", "href"], function($, href) {
    // 		$("body").on("click", "a", function(e) {
    // 			if (location.host == this.host) {
    // 				href.jump(this.href);
    // 				e.preventDefault();
    // 				return false;
    // 			}
    // 		});
    // 	});
    // }
    /*
     * 重写弹出框
     */
    require(["color"], function(color) {
        var _alert = window.alert;
        window.alert = function() {
            var args = arguments;
            var result;
            if (args.length === 1) {
                var alert_str = args[0];
                if (typeof alert_str === "string") {
                    result = $.Notify.show(alert_str)
                } else {
                    result = $.Notify(alert_str);
                }
            } else if (args.length >= 2) {
                var type = args[0];
                var alert_str = args[1];
                var time = (args[2] === undefined) ? 3000 : args[2];
                var class_color = color[type];
                result = $.Notify({
                    style: {
                        background: class_color,
                        color: "white"
                    },
                    content: alert_str,
                    timeout: time
                });
            }
            return result;
        }
    });
    return jSouper;
});
